package com.fuhao.singleton.Hungry;

/**
 * 单例模式之饿汉式
 * 
 * @author zhang
 *
 */
public class Hungry {

	/**
	 * 优点： 
	 * 1.类初始化时候就创建对象，线程安全，效率高 
	 * 全局变量，所以线程是安全的，创建速度快
	 * 
	 * 缺点： 
	 * 1.若不适用对象时候，浪费jvm内存
	 * 存放到永久器中，GC不会回收
	 */

	// 1.若需要使用单例模式，需要把构造函数私有化
	private Hungry() {
	}

	// 2.创建全局对象,存放到永久器中，GC不会回收
	private static final Hungry HUNGRY = new Hungry();
	
	//3.创建获取对象的方法，供外界调用来创建对象
	public Hungry getInstance() {
		return HUNGRY;
	}
	
	//测试
	public static void main(String[] args) {
		Hungry instance1 = HUNGRY.getInstance();
		Hungry instance2 = HUNGRY.getInstance();
		//true,都是同一个对象
		System.out.println(instance1==instance2);
	}
}
